package com.gg.registration.task.scheduled;

import com.gg.registration.rabbitmq.constant.MQConstant;
import com.gg.registration.rabbitmq.service.RabbitService;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;

/**
 * 定时提醒就诊人按时就诊
 *
 * @EnableScheduling注解
 *      关于@EnableScheduling，其实就是用来使@Schedule注解功能可用的注解。
 *      在 Spring Boot 的配置类中，标注上这个注解，就可以对项目中的方法某些方法使用@Schedule注解
 *      将其变为定时自动执行。
 * Author：  chenjunjia
 * Date：    2022/4/29 17:23
 * WeChat：  China_JoJo_
 */
@Component
@EnableScheduling
public class ScheduledTask {

    @Resource
    private RabbitService rabbitService;

    /**
     * 每天8点执行 提醒当天就诊人按时就诊
     * cron表达式可以在百度找到工具生成
     */
    //@Scheduled(cron = "0/30 * * * * ?")
    @Scheduled(cron = "0 0 8 * * ?")
    public void task1() {
        rabbitService.sendMessage(MQConstant.EXCHANGE_DIRECT_TASK, MQConstant.ROUTING_TASK_8, "");
    }
}
